package com.easylinkin.linkappapi.quality.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import java.io.Serializable;
import java.util.Date;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 质量通知设置
 * </p>
 *
 * @author kanyuanfeng
 * @since 2023-07-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("app_quality_config")
public class QualityConfig extends Model<QualityConfig> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 租户id
     */
    @TableField("tenant_id_")
    private String tenantId;

    /**
     * 整改通知(1开0关)
     */
    @TableField("rectify_")
    private Boolean rectify;

    /**
     * 复核通知(1开0关)
     */
    @TableField("check_")
    private Boolean check;

    /**
     * 复核结果通知(1开0关)
     */
    @TableField("check_end_")
    private Boolean checkEnd;

    /**
     * 整改即将超期通知(1开0关)
     */
    @TableField("rectify_expire_")
    private Boolean rectifyExpire;

    /**
     * 整改超期时间(小时)
     */
    @TableField(value = "rectify_expire_param_",strategy = FieldStrategy.IGNORED)
    private Integer rectifyExpireParam;

    /**
     * 整改已超期通知(1开0关)
     */
    @TableField("rectify_over_")
    private Boolean rectifyOver;

    /**
     * 整改超期通知天数(天)
     */
    @TableField(value = "rectify_over_param_",strategy = FieldStrategy.IGNORED)
    private Integer rectifyOverParam;

    /**
     * 整改超期上报通知(1开0关)
     */
    @TableField("rectify_upper_")
    private Boolean rectifyUpper;

    /**
     * 整改超期上报通知人员id(逗号分隔)
     */
    @TableField(value = "rectify_upper_param_",strategy = FieldStrategy.IGNORED)
    private String rectifyUpperParam;

    /**
     * 整改超期上报生效时间
     */
    @TableField("rectify_upper_time_")
    private Date rectifyUpperTime;

    /**
     * 复核即将超期通知(1开0关)
     */
    @TableField("check_expire_")
    private Boolean checkExpire;

    /**
     * 复核超期时间(小时)
     */
    @TableField(value = "check_expire_param_",strategy = FieldStrategy.IGNORED)
    private Integer checkExpireParam;

    /**
     * 复核已超期通知(1开0关)
     */
    @TableField("check_over_")
    private Boolean checkOver;

    /**
     * 复核超期通知天数(天)
     */
    @TableField(value = "check_over_param_",strategy = FieldStrategy.IGNORED)
    private Integer checkOverParam;

    /**
     * 复核超期上报通知(1开0关)
     */
    @TableField("check_upper_")
    private Boolean checkUpper;

    /**
     * 复核超期上报通知人员id(逗号分隔)
     */
    @TableField(value = "check_upper_param_",strategy = FieldStrategy.IGNORED)
    private String checkUpperParam;

    /**
     * 整改超期上报生效时间
     */
    @TableField("check_upper_time_")
    private Date checkUpperTime;

    /**
     * 创建人id
     */
    @TableField("creator_id_")
    private Long creatorId;

    /**
     * 创建日期
     */
    @TableField("create_time_")
    private Date createTime;

    /**
     * 修改人id
     */
    @TableField("modify_id_")
    private Long modifyId;

    /**
     * 修改时间
     */
    @TableField("modify_time_")
    private Date modifyTime;

    /**
     * 备注/说明
     */
    @TableField("remark_")
    private String remark;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
